package com.unidt.www.module.third.enterprise.dao;

import com.unidt.www.framework.common.pojo.PageResult;
import com.unidt.www.framework.mybatis.core.mapper.BaseMapperX;
import com.unidt.www.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.unidt.www.module.third.enterprise.domain.EnterpriseNoticeDO;
import com.unidt.www.module.third.enterprise.vo.notice.EnterpriseNoticeListReqVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Arrays;

/**
 * <p>
 * 部门表 Mapper 接口
 * </p>
 *
 * @author ouyangoyys
 * @since 2022-11-24
 */
@Mapper
public interface EnterpriseNoticeMapper extends BaseMapperX<EnterpriseNoticeDO>{

    default PageResult<EnterpriseNoticeDO> selectList(EnterpriseNoticeListReqVO reqVO) {
        return selectPage(reqVO,new LambdaQueryWrapperX<EnterpriseNoticeDO>()
                .likeIfPresent(EnterpriseNoticeDO::getTitle, reqVO.getTitle())
                .eqIfPresent(EnterpriseNoticeDO::getStatus,reqVO.getStatus())
                .eqIfPresent(EnterpriseNoticeDO::getType,reqVO.getType())
                .betweenIfPresent(EnterpriseNoticeDO::getEndTime, reqVO.getBeginTime(),reqVO.getEndTime())
                .orderByDesc(Arrays.asList(EnterpriseNoticeDO::getCreateTime, EnterpriseNoticeDO::getCreateTime))
        );
    }


}
